import java.util.Arrays;
import java.util.HashMap;

public class Hot1 {
    public static void main(String[] args) {
        int[] arr = {2,7,11,15};
        int[] ints = twoSum(arr, 9);
        System.out.println(Arrays.toString(ints));
    }

    public static int[] twoSum(int[] nums, int target) {
        //利用map来存储遍历过的数据，然后每次循环都会减去当前的值，用结果来在map中找是否存存储过这个值
        HashMap<Integer,Integer> map = new HashMap<>();
        for (int i =0;i<nums.length;i++){
            Integer value = map.get(target - nums[i]);
            if (value != null){
                //如果存储过，map中的值下标肯定在前面已经存储过了

                return new int[]{value,i};
            }
            //找不到则存在map中
            map.put(nums[i],i);
        }
        return null;
    }
}
